﻿ using System;
using System.IO;
using System.Text;

namespace Program07
{
    class Program
    {
        static void Main(string[] args)
        {
            ////使用FileStream来写入文件
            //using (FileStream fsWrite = new FileStream("new.txt", FileMode.OpenOrCreate, FileAccess.Write))  //  创建new.txt文件 ，打开 ，创建
            //{
            //    var str = "看我把你覆盖！!!!";
            //    //把字符串转换成二进制
            //    byte[] buffer = Encoding.UTF8.GetBytes(str);
            //    fsWrite.Write(buffer, 0, buffer.Length);
            //}
            //Console.WriteLine("文件写入成功！");

            //读取文件
            FileStream fsRead = new FileStream(@"G:\VS\CsharpAdvanced\Program07\bin\Debug\netcoreapp3.1\new.txt",
                FileMode.OpenOrCreate, FileAccess.Read);   //给出绝对路径 ，打开 ，读取

            //读取文件不超过5M，1k字节是1024   1M就是1024*1024   5M的话就是 1024*1024*5
            byte[] buffer = new byte[1024 * 1024 * 5];

            //读取当前文件的有效字节数   最大不能超过5M
            int r = fsRead.Read(buffer, 0, buffer.Length);

            //将读出的二进制字节转换成utf8格式的字符串
            string str = Encoding.UTF8.GetString(buffer, 0, r);
            //关闭文件
            fsRead.Close();
            //释放存储空间，线程
            fsRead.Dispose();
            Console.WriteLine(str);
        }
    }
}
